const gulp =require("gulp");
const connect = require("gulp-connect");//服务器
const sass = require("gulp-sass")(require("sass"));//sass
const sourcemaps = require("gulp-sourcemaps");//网页定位在cass
//---------------------------------------------------------------
//建任务
//拷贝
gulp.task("copyHtml", done => {
gulp.src("./html/**").pipe(gulp.dest("dist")).pipe(connect.reload());done();
})
//--------------------------------------------------------------
//sass
gulp.task("sass", done => {
gulp.src("sass/*.scss")
.pipe(sourcemaps.init())//初始化
.pipe(sass({//
outputStyle: "expanded"//关联
}))//
.pipe(sourcemaps.write("./"))
.pipe(gulp.dest("dist/css")).pipe(connect.reload());
done();
})
//------------------------------------------------------------------
//拷贝  图片多种类型（扩展名）
gulp.task("copyimg",done=>{
    gulp.src("./img/**").pipe(gulp.dest("dist/img")).pipe(connect.reload());done();
    done(); 
})
//----------------------------------------------------------------
//拷贝js
gulp.task("copyjs",done=>{
  gulp.src("./js/**").pipe(gulp.dest("dist/js")).pipe(connect.reload());done();
  done(); 
})
//-----------------------------------------------------------------
//侦测文件变化
//监听文件，一旦指定文件发生改变，会触发对应的任务执行
gulp.task("watch", done => {
gulp.watch("./html/**", gulp.series("copyHtml"));
gulp.watch("./img/**", gulp.series("copyimg"));
gulp.watch("./js/**", gulp.series("copyjs"));
gulp.watch("sass/*.scss", gulp.series("sass"));
done();
})
//用gulp提供的服务器打开页面
//安装一个服务器的插件
//使用gulp-connect插件搭建本地服务
gulp.task("server", done => {
connect.server({
root: "dist",
livereload: true
})
done();
})
//建立默认任务
//同时开启
gulp.task("build",gulp.parallel("copyHtml"));
gulp.task("default",gulp.series("server","watch"));